Реализация поиска печатей на OpenCV без нейронок, регистрации и смс

Не так давно перед нами стояла задача найти и извлечь печати с документов. Зачем? Например, для проверки наличия печатей в договорах с двух сторон (участников договора). У нас в закромах уже был прототип для их поиска, написанный на OpenCV, но он был сыроват. Решили откопать данный реликт, стряхнуть с него пыль и на его основе сделать рабочее решение.

Большинство приемов, описанных здесь, можно применить и вне задачи поиска печатей. Например:

  • цветовая сегментация;
  • поиск круглых объектов / окружностей;
  • конвертация изображения в полярную систему координат;
  • пересечение объектов, Intersection over Union (IoU, Коэффициент Жаккара).

В итоге, у нас было два варианта: решать с помощью нейронных сетей или же воскресить прототип на OpenCV. Почему мы решили взять OpenCV? Ответ в конце статьи.

Примеры кода будут представлены на Python и C#. Для Python потребуется пакет opencv-python и numpy, для C# — OpenCvSharp и opencv.

Надеюсь, что вы знакомы с






Читать далее